Sublime + WebSocketServer = SublimeSocket
概要
SublimeText2の話。
SublimeServerとかもある事だし、Sublime上でWebSocketのサーバとか動いたら、
入力が簡単で疎結合でプラガブルなエディタ補助機構がつくれるんじゃね?という内容を、
Scala全然関係ないGroovy勉強会で思いつくなどしていた。
WebSocketを使えば、外部からPushで
・エラー
・コードの挙動に対する注意点
・部分的なコンソールの結果
等をST2に送りつけてバッファに表示することが可能なのではないだろうか?
というアイデアを得て、やってみてる。
今までとこれから
よくST2でScalaとかを書いているのですが、もしWebSocketがST2に積めると、
ST2 + ENSIME Server → 補完、コンパイル補助をST2に反映
だったのが、
ST2 - websocket - コンパイラとか
という感じになる。sbtとか繋いで、バカみたいにパワーあるマシンでコンパイルして、
その間ST2には全く負荷がかからない。
しかも、テストとか動作時のパラメータを拾ってきて、テストケースの特定の値の上に表示、
なんてことも出来ちゃう。
解決したい事
ENSIMEは、ENSIME自身が重くなる瞬間、ST2も重くなる、という弱点があった。
注釈も、型について、とかは出せなかったし。
果たすべき目的は、重量級機能の外部化と、注釈機能の強化。
拡張が容易な形とかだと、うれしいな!
ということで、作っている。
https://github.com/sassembla/SublimeSocket
興味ある人いらっしゃれば、ぜひ @toru_inoue まで。